﻿Imports System.Data
Imports CrystalDecisions.Shared
Imports CrystalDecisions.CrystalReports.Engine
Imports System.Data.OleDb
Imports System
Imports System.Globalization

Partial Class Interfaz_frmGestConfeccionOT
    Inherits System.Web.UI.Page
    Dim dtDatos As New DataTable
    Dim cl As New ControladorLogica

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Cl.visibilidadesFormsInternos("Planificacion", Session("user").ToString) = False Then
            Response.Redirect("Index.aspx")
        End If

        LoadPag()
    End Sub

#Region "Funcionalidades"
    Public Sub Mensaje(ByVal msg As String)
        Dim alertScript As String = "<script language=JavaScript runat=server>"
        alertScript &= "alert('" & msg & "');"
        alertScript &= "</script>"
        ClientScript.RegisterClientScriptBlock(Page.GetType(), "clientScrip", alertScript)
    End Sub

    Private Sub LoadPag()
        Dim i As Integer
        Dim ArrayOT As New ArrayList

        ArrayOT = cl.ObtenerOrdenTrabajo()

        If Not Page.IsPostBack Then
            For i = 0 To ArrayOT.Count - 1
                Me.DropAsocOT.Items.Add(DirectCast(ArrayOT.Item(i), OrdenTrabajo).Id)
            Next
        End If

        'se guardan datos en secion para el positback de la pagina respecto al los datos del datagridview
        If Session("SubProyecto") Is Nothing Then
            Session("SubProyecto") = dtDatos
        Else
            dtDatos = DirectCast(Session("SubProyecto"), DataTable)
        End If

        If Not Page.IsPostBack Then
            Try
                dtDatos.Columns.Add(New DataColumn("SUBPROYECTO"))
                dtDatos.Columns.Add(New DataColumn("DESCRIPCION"))
                dtDatos.Columns.Add(New DataColumn("OBSTALLER"))
                dtDatos.Columns.Add(New DataColumn("NotasCliente"))
                dtDatos.Columns.Add(New DataColumn("NOTASVENTAS"))
                Me.GridSubProyectos.DataBind()
                Me.GridSubProyectos.DataSource = Me.dtDatos
            Catch
            End Try
        End If
        'Me.GridActividad.DataBind()
        Me.GridSubProyectos.DataSource = Me.dtDatos
    End Sub

    Public Sub obtenerSubProyecto()

        Dim OT As String = Me.DropAsocOT.Text
        Dim OTAsociada As OrdenTrabajo = DirectCast(cl.ObtenerOrdenTrabajoCriterio(OT).Item(0), OrdenTrabajo)
        Dim pres As Presupuesto = DirectCast(cl.ObtenerPresupuestoCriterio(OTAsociada.FkPresupuesto).Item(0), Presupuesto)
        Dim SubProyArray As ArrayList = cl.obtenerSubProyectoCriterio(pres.id)

        For i As Integer = 0 To SubProyArray.Count - 1
            Dim drDatos As DataRow = dtDatos.NewRow
            Dim subProy As presupuestosubproyecto = DirectCast(SubProyArray.Item(i), presupuestosubproyecto)
            drDatos.Item("SUBPROYECTO") = subProy.nombreSubProyecto
            drDatos.Item("DESCRIPCION") = subProy.descripcionSubProyecto
            drDatos.Item("OBSTALLER") = subProy.observacionTaller
            drDatos.Item("NotasCliente") = subProy.notasAlCliente
            drDatos.Item("NOTASVENTAS") = subProy.notasVentas
            dtDatos.Rows.Add(drDatos)
            Me.GridSubProyectos.DataSource = dtDatos
            Me.GridSubProyectos.DataBind()
        Next



    End Sub

    Public Sub redireccionaPagina()
        Dim numeroRow As Integer = 0
        Dim filaGrid As GridViewRow

        With Me.GridSubProyectos
            Dim fila As Integer = 0
            filaGrid = .Rows(fila)
            Dim btn As Button = filaGrid.FindControl("BtnPlanificar")
            btn.Attributes.Add("onclick", "javascript:visualizadorPlanificadorSubProyectoPag(" + CStr(fila) + ");")
        End With
    End Sub
#End Region

#Region "Botones"
    Protected Sub Buscar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Buscar.Click
        obtenerSubProyecto()
    End Sub
#End Region

#Region "Eventos"

    Protected Sub GridSubProyectos_PageIndexChanging(ByVal sender As Object, ByVal e As GridViewPageEventArgs)
        GridSubProyectos.PageIndex = e.NewPageIndex
        'Bind data to the GridView control.
        BindData("SubProyecto")
    End Sub

    Protected Sub GridSubProyectos_RowEditing(ByVal sender As Object, ByVal e As GridViewEditEventArgs)
        'Set the edit index.
        GridSubProyectos.EditIndex = e.NewEditIndex
        'Bind data to the GridView control.
        BindData("SubProyecto")
    End Sub

    Protected Sub GridSubProyectos_RowCancelingEdit(ByVal sender As Object, ByVal e As GridViewCancelEditEventArgs)
        'Reset the edit index.
        GridSubProyectos.EditIndex = -1
        'Bind data to the GridView control.
        BindData("SubProyecto")
    End Sub

    Protected Sub GridSubProyectos_RowUpdating(ByVal sender As Object, ByVal e As GridViewUpdateEventArgs)
        'Retrieve the table from the session object.
        Dim dt As DataTable = CType(Session("SubProyecto"), DataTable)

        'Update the values.
        Dim row As GridViewRow = GridSubProyectos.Rows(e.RowIndex)

        dt.Rows(row.DataItemIndex)("SUBPROYECTO") = (CType((row.Cells(1).Controls(0)), TextBox)).Text
        dt.Rows(row.DataItemIndex)("DESCRIPCION") = (CType((row.Cells(2).Controls(0)), TextBox)).Text
        dt.Rows(row.DataItemIndex)("OBSTALLER") = (CType((row.Cells(3).Controls(0)), TextBox)).Text
        dt.Rows(row.DataItemIndex)("NOTASCLIENTE") = (CType((row.Cells(4).Controls(0)), TextBox)).Text
        dt.Rows(row.DataItemIndex)("NOTASVENTAS") = (CType((row.Cells(5).Controls(0)), TextBox)).Text
        'Reset the edit index.
        GridSubProyectos.EditIndex = -1

        'Bind data to the GridView control.
        BindData("SubProyecto")
    End Sub

    Sub GridSubProyectos_RowDeleting(ByVal sender As Object, ByVal e As GridViewDeleteEventArgs)
        Dim dt As DataTable = CType(Session("SubProyecto"), DataTable)
        dt.Rows(e.RowIndex).Delete()
        GridSubProyectos.DataSource = dt
        GridSubProyectos.DataBind()
    End Sub

    Private Sub BindData(ByVal nombreGrid As String)
        GridSubProyectos.DataSource = Session(nombreGrid)
        GridSubProyectos.DataBind()
    End Sub


#End Region
    
   
    Protected Sub BtnPlanificar_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        redireccionaPagina()
    End Sub


  
End Class
